// 同步执行：
// 1、同步读取文件时，无需回调函数，返回值就是读取的数据内容。
// 2、主线程阻塞在读取函数这里，一直到读取完成后，才继续往下执行。
// 3、慢，效率低。
var fs = require("fs")
let fn = '1.txt'

let data = fs.readFileSync(fn,'utf-8')
console.log('同步:',data)

// 异步执行：
// 1、需要注册一个回调函数。
// 2、主线发现是异步调用时，直接把任务丢给node.js后台线程执行，主线程继续向下执行其他代码。
// 3、当后台执行完成时，会通知通过回调函数通知主线程，主线程执行。
fs.readFile(fn,'utf-8',/*回调函数*/function (err,data) {
    if (err){
        console.log('读取文件失败：',err)
        return
    }
    console.log('异步读取文件数据：',data)
})
console.log("我在回调函数前面！")
